package com.example.day12;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;

import java.util.HashMap;
import java.util.Map;

/**AsyncTask定义了三种泛型类型 Params，Progress和Result。

        Params 启动任务执行的输入参数，比如HTTP请求的URL。
        Progress 后台任务执行的百分比。
        Result 后台执行任务最终返回的结果，比如String。
 */
public class MyAsyncTask  extends AsyncTask<String,Integer,byte[]> {
    private ImageView text;
    HashMap<String,String> map ;
    public MyAsyncTask(ImageView text){
        this.text=text;

        Log.e("####","初始化");
    }
    @Override
    /**
     * 异步任务处理
     */
    protected byte[] doInBackground(String... strings) {
        Log.e("####","访问网络"+strings[0]);
//        return new HttpTools().httpReport(strings[0]);
        //网络访问
        return  new HttpTools().requestPost(null,strings[0]);
//        new HttpTools().downloadFile(strings[0]);
//   return new HttpTools().requestPost(null,strings[0]);
//        return null;
    }
    /**
     * onPreExecute用于异步处理前的操作
     */
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        Log.e("####","事前");
    }
    /**
     * 异步处理中的操作
     * @param values
     */
    @Override
    public void onProgressUpdate(Integer... values){
        super.onProgressUpdate(values);
    }
    /**
     * @param b
     * 事后方法
     * onPostExecute用于UI的更新.此方法的参数为doInBackground方法返回的值.
     */
    //
    @Override
    protected void onPostExecute(byte[] b){
        super.onPostExecute(b);
        Log.e("####","事后"+b.length);
            String bb = new String(b);
        Log.e("####","事后"+bb);
//        text.setImageBitmap(BitmapFactory.decodeByteArray(b,0,b.length));
    }
}
